首页> 外文OA文献 >Revisiting Exception Handling Practices with Exception Flow Analysis
【2h】

Revisiting Exception Handling Practices with Exception Flow Analysis

机译:使用异常流分析重新审视异常处理实践

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。
获取外文期刊封面目录资料

摘要

Modern programming languages, such as Java and C#, typically provide featuresthat handle exceptions. These features separate error-handling code fromregular source code and aim to assist in the practice of software comprehensionand maintenance. Having acknowledged the advantages of exception handlingfeatures, their misuse can still cause reliability degradation or evencatastrophic software failures. Prior studies on exception handling aim tounderstand the practices of exception handling in its different components,such as the origin of the exceptions and the handling code of the exceptions.Yet, the observed findings were scattered and diverse. In this paper, tocomplement prior research findings on exception handling, we study its featuresby enriching the knowledge of handling code with a flow analysis of exceptions.Our case study is conducted with over 10K exception handling blocks, and over77K related exception flows from 16 open-source Java and C# (.NET) librariesand applications. Our case study results show that each try block has up to 12possible potentially recoverable yet propagated exceptions. More importantly,22% of the distinct possible exceptions can be traced back to multiple methods(average of 1.39 and max of 34). Such results highlight the additionalchallenge of composing quality exception handling code. To make it worse, weconfirm that there is a lack of documentation of the possible exceptions andtheir sources. However, such critical information can be identified byexception flow analysis on well- documented API calls (e.g., JRE and .NETdocumentation). Finally, we observe different strategies in exception handlingcode between Java and C#. Our findings highlight the opportunities ofleveraging automated software analysis to assist in exception handlingpractices and signify the need of more further in-depth studies on exceptionhandling practice.
机译:Java和C#等现代编程语言通常提供处理异常的功能。这些功能将错误处理代码与常规源代码分开,旨在帮助进行软件理解和维护。认识到异常处理功能的优点之后,滥用它们仍可能导致可靠性下降甚至灾难性的软件故障。以前关于异常处理的研究旨在了解异常处理在其不同组成部分中的实践,例如异常的起源和异常的处理代码。但是,观察到的发现是分散的和多样化的。在本文中,为了补充先前关于异常处理的研究成果,我们通过对异常流进行分析来丰富处理代码的知识,从而研究其功能。我们的案例研究使用了超过1万个异常处理块,以及来自16个开放式源Java和C#(.NET)库和应用程序。我们的案例研究结果表明,每个try块最多具有12个可能的潜在可恢复但传播的异常。更重要的是,22%的可能例外可以追溯到多种方法(平均值为1.39,最大值为34)。这样的结果凸显了组成质量异常处理代码的额外挑战。更糟糕的是,我们确认缺少关于可能的异常及其来源的文档。但是,可以通过对有据可查的API调用(例如JRE和.NETdocumentation)进行异常流分析来识别此类关键信息。最后,我们在Java和C#之间观察到异常处理代码中的不同策略。我们的发现突出了利用自动化软件分析来协助异常处理实践的机会,并表明需要对异常处理实践进行更深入的研究。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号